---
title: "Parliamentary Communication Allowances: Good for Nothing? ^[This paper has been accepted for publication in [Political Studies Review](https://journals.sagepub.com/home/psw). I am grateful for comments on previous versions of this manuscript by Katrin Auel, Lawrence McKay, and the audiences at the following events: the Workshop on Constituency Service in Europe (Tampere, June 2019) and the Conference on Comparative Research on Political Elites (Berlin, November 2019).]"
author: "Resul Umit ^[University of Oslo, Norway. Email: [resuluy@uio.no](mailto:resuluy@uio.no). Website: [resulumit.com](https://resulumit.com).]"
date: "`r format(Sys.time(), '%d %B %Y')`"
output:
  pdf_document:
    fig_caption: yes
bibliography: references.bib
csl: apa.csl
fontsize: 12pt
link-citations: yes
linkcolor: black
urlcolor: black
header-includes:
    - \usepackage{setspace}\doublespacing
    - \usepackage{pdflscape}
    - \hypersetup{pdftoolbar=true, pdfmenubar=true, pdffitwindow=false, pdfstartview={FitH}}
---

```{r setup, include=FALSE}

# global options
knitr::opts_chunk$set(echo = FALSE, include = FALSE, message = FALSE, warning = FALSE, dev = c("pdf", "png"),
                      fig.width = 9, fig.height = 6, fig.path = "../figures/", cache.lazy = FALSE)

# packages
library(rio)
library(tidyverse)
library(viridis)
library(stargazer)
library(margins)
library(car)
library(lfe)

# solve the conflict on the select function
select <- dplyr::select                                                                        

```

## Abstract
In many countries, members of parliament receive publicly-funded allowances to communicate with the electorate. Some hope that ensuing parliamentary communication engages the people with politics and increases electoral participation. Others worry that such use of public funds might create an unfair advantage for incumbents and affect electoral results. Yet, the consequences of this practice remain unknown. Data from the UK House of Commons suggests that both the hopes and the worries are baseless: there is no evidence that parliamentary communication allowances increase electoral turnout or affect incumbents' vote share. If these allowances are not effective, both parliaments and their members might want to reconsider their use and usefulness.

\newpage
## Introduction
From informing the people to educating them about political affairs, communication has always been a function of parliaments [@bagehot2001]. At a time of public disengagement with politics, the parliamentary communication function is now acknowledged more widely than perhaps ever before [@leston2016; @kelso2007]. Indeed, many parliaments have developed new communication strategies in the last couple of decades [@power2012; @leston2013]. One of these strategies is to provide the members of parliament (MPs) with allowances to spend on communicating with the electorate [@auel2018]. A lot is being invested in this strategy, in terms of both money and expectations, but we still do not know whether parliamentary communication allowances are effective in increasing public engagement with politics.

The stakes are high for parliaments. Parliamentary allowances, as well as salaries, are a source of public controversy in general [@kelso2009]. Any new allowance comes with an increased risk of public cynicism towards MPs, and it takes a minority of them to misuse that allowance to create a scandal [@vanheerde2014; @kelso2009]. Such risks are particularly high for communication allowances, not least because the line between parliamentary communication (i.e., use) and political campaigning (i.e., misuse) is dangerously thin. It is also because, even within its intended use, some *believe* that communication allowances give incumbents an unfair advantage in elections [@kelly2009, p.68], distorting the will of the people at their own expense. Yet, again, we do not know whether there really is such an electoral advantage.

This article analyses the Communications Allowance of the British House of Commons to provide quantitative evidence on the effects of parliamentary communication allowances. It is motivated to address the fact that "in the absence of clear evidence about the impact of all that money on the performance of MPs specifically and the effectiveness of [parliaments] in general, most people will continue to look on in disbelief" [@kelso2009, p.334]. The results are most compatible with the null hypothesis that parliamentary communication has no important effect on the differences in turnout or vote share. 

## Context
MPs have long had free stationery and postage-paid envelopes in the UK, but these had to be used only for solicited communication with individual constituents. After a series of reports on the disconnect between the public and the parliament, emphasising---among other issues---the decline in electoral participation [@puttnam2005; @white2006], the House of Commons established[^vote] a new allowance in 2007 for MPs 'to assist in the work of communicating with the public on parliamentary business' [@tebbit2007, p.54]. With the Communications Allowance, therefore, MPs could communicate with *all* constituents *proactively*, without worrying about its cost, at least, up to a certain limit.

[^vote]: There was a considerable opposition in the House of Commons to the establishment of the allowance. The final vote took place on 28 March 2007, passing with a majority of 95. Labour voted in favour of the allowance while the Conservatives voted against it. The Liberal Democrats were divided.

The allowance provided MPs with £10,000 for the 2007--2008 parliamentary year, raised to £10,400 for the following two years,[^transfer] to pay for 'regular reports and constituency newsletters, questionnaires and surveys, petitions, targeted communications, contact cards, distribution costs including direct mailing and postage, websites, [and] some capital purchases' [@hoc2007, p.6]. \autoref{expenditure_barplot} suggests[^receipts] that most was spent on producing and delivering publications. With considerable share of expenditures on advertising, websites, and equipment as well, MPs nevertheless used the entire scope of the allowance.

[^transfer]: MPs could surpass these (£10,000 -- £10,400) limits by transferring funds from other allowances into the Communications Allowance [@hoc2007, p.6]. Indeed, as Figure 2 suggests, many did so---MPs spent as much as over £57,000 for communication. See Table A1 in the Appendix for descriptive statistics.

[^receipts]: The data on expenditure *areas* is available only for the 2009--2010 parliamentary session, which is suggestive for the previous two years.

```{r expenditure_categories, include=TRUE, cache=TRUE, dpi=1000, fig.cap="Expenditure of the Communications Allowance (2009--2010) by area. \\textit{Source}: UK House of Commons. \\label{expenditure_barplot}"}

import("datasets/data_receipts.Rdata") %>% 
        group_by(cat_broad) %>% 
        summarise(total_cost = sum(cost)) %>% 
        mutate(percent_cost = total_cost * 100 / sum(total_cost)) %>%
        ggplot(aes(x = reorder(cat_broad, - percent_cost), y = percent_cost)) +
        geom_col() +
        theme_bw() +
        theme(axis.title = element_text(size = 14),
              axis.text = element_text(size = 14)) +
        labs(x = "", y = expression("Expenditure")) +
        scale_x_discrete(breaks = c("Publications", "Delivery", "Advertising", "Website", "Equipment"),
                         labels = c("Publications", "Deliveries", "Advertising", "Websites", "Equipment")) +
        scale_y_continuous(labels = function(x) paste0(x, "%"))
  

```

Before long, and amid the scandal around the parliamentary expenses in 2009,[^scandal] the Committee on Standards in Public Life, an advisory public body on the ethical standards of public office holders, called for the Communications Allowance to be abolished. Unrelated to the scandal per se, the Committee nevertheless deemed the allowance more of an unfair electoral advantage for incumbent MPs and parties than a boost to public engagement with politics [@kelly2009, chap.8]. Acting on this advice, the House of Commons abolished the allowance in 2010.

[^scandal]: Briefly, some dozens of MPs were found to have abused their allowances, particularly the Additional Cost Allowance, which covered the expenses for keeping two residences---one in MPs' own constituency and another in London [@vanheerde2014; @kelso2009].

```{r import_constituency_data, include=TRUE, cache=TRUE, echo=FALSE}

df_constituency <- import("datasets/data_constituency.Rdata")

```

Over its three-year lifetime, £`r round((sum(df_constituency$expenditure) / 1000000), 1)`m was claimed from the Communications Allowance,[^administrative_costs] with MPs spending on average about £7,100 per year to communicate proactively with their constituents. Studying their expenditure behaviour, @auel2018 found that MPs seeking re-election spent significantly more of their allowance than those standing down, especially if their seat in Parliament was at greater risk. For example, compared to their colleagues with a 10% electoral majority, MPs barely winning the previous election invested about £690 more per year on parliamentary communication [@auel2018, p.742]. 

[^administrative_costs]: Note that this figure does not include the administrative costs, and therefore that the total cost of the Communications Allowance to the taxpayer is likely to be much higher.

What remains unknown is (a) whether, as the proponents of the allowance hoped, the disconnect with politics decreases with the parliamentary communication financed by the taxpayer, and (b) whether, as the opponents worried, the electoral prospects of incumbents increases with it. Indeed, in the absence of such empirical evidence, the recommendation to abolish the Communications Allowance was based on arguments that were 'difficult to evaluate' [@kelly2009, p.69]. In fact, the allowance was introduced with similar lack of evidence in the first place.

## Communication Allowances and Electoral Outcomes
There are good reasons to expect that communication allowances might have significant electoral consequences. Although there is so far no evidence from communication allowances per se---a gap which this study helps fill---the literature on parliamentary communication suggests that MPs' personal contact with their electorate can affect turnout and vote choice.

First, communication allowances can increase turnout due to information effects. Evidence shows that voters learn from parliamentary communication [@larson1990; @lipinski2001]. @lipinski2001, for example, shows that if the members of the US House of Representatives publicise their votes in constituency newsletters, their constituents are more likely to know their policy positions. Given that informed voters are more likely to turnout in elections [@palfrey1987; @lassen2005], and assuming that communication allowances are used, and used for parliamentary communication, it is reasonable to expect these allowances to affect electoral turnout.

Second, communication allowances can affect the choice of the voters who turnout as well, likely in favour of the incumbents. This is not only because informed citizens vote differently from uninformed ones [@bartels1996], but also because constituents develop favourable impressions of their representatives who reach out to them [@cover1982]. As a result, if legislators make the effort to communicate with their constituents, they see the rewards at the following elections [@cover1985; @jackson2008; @lipinski2004]. For example, @jackson2008 finds that newsletters help British MPs cultivate a personal vote as some subscribers change their mind to vote for them after a while.

Finally, the literature suggests that these effects depend on the amount, rather than the substance, of parliamentary communication. Recent experiments show that communicating simple positional cues to constituents---without any explanations and irrespective of the positions taken---work well for incumbents [@broockman2017; @bullock2011]. Besides, @cover1982 show that incumbents can increase their re-election prospects even with non-political communication, such as posting government booklets to the parents of newborns. What seems to matter the most is the frequency of contact; the benefits of parliamentary communication increase with the number of times incumbents contact their constituents [@cover1982; @grimmer2012; @matsubayashi2013].

## Data and Methods
The claims in this analysis are based primarily on a combination of data from the (2005 and 2010) UK general elections and the Communications Allowance. The data on constituency-level electoral results comes from the UK Electoral Commission. A complication is that there was a boundary change for most of the constituencies in England, Wales, and Northern Ireland at the 2010 election, and only 138 constituencies---59 of which were in Scotland---remained unchanged from the time when the allowance was in use. To address this complication, I use notional results---estimations from the wards that make up each constituency---for constituencies with boundary change.

The dependent variables are the constituency-level turnout and vote shares in the 2010 UK general election, the election that followed the allowance, which took place in 650 constituencies under the first-past-the-post system. 

The independent variable of interest (*Communication*) is the amount of money, in £1,000s, claimed from the Communications Allowance in its entire existence. The data for this variable comes from the UK House of Commons. \autoref{expenditure_map} plots this data, showing how much was spent for parliamentary communication in each constituency, using the new boundaries.

```{r expenditure_map, include=TRUE, cache=TRUE, echo=FALSE, dpi=1000, fig.cap="Expenditure of the Communications Allowance (2007--2010) within the 2010 constituency boundaries. \\textit{Source}: UK House of Commons. \\label{expenditure_map}"}

import("datasets/data_map.Rdata") %>%
        left_join(., df_constituency, by = c("id" = "constituency")) %>%
        ggplot() +
        geom_polygon(aes(long, lat, group = group, fill = expenditure)) +
        geom_path(aes(x = long, y = lat, group = group), color = "black", size = 0.05) +
        labs(x = NULL, y = NULL, fill = "") +
        theme_void() +
        theme(panel.grid = element_blank(),
              axis.ticks = element_blank(),
              panel.border = element_blank(),
              axis.text = element_blank(),
              legend.position = c(0.95, 0.55)) +
        scale_fill_gradient(low = "white", high = "black", 
                            breaks = c(10000, 20000, 30000, 40000, 50000),
                            labels = c("£10k", " ", "£30k", " ", "£50k")) +
        coord_map(projection="albers", at0 = 51, lat1 = 0)

```

Exploring the potential relationships between parliamentary communication on the one hand and turnout and vote share on the other, I estimate ordinal least squares (OLS) regressions, here in the main body of the article, with data from all constituencies. In the Appendix, I re-estimate the same regression models for only the constituencies without a boundary change. All models are with fixed effects, limiting the analysis to within regions for turnout or to within parties for vote share. In addition, final models include lagged dependent variables and a number of other controls for (a) boundary changes, (b) campaign spending, (c) incumbent candidates, and (d) constituency majority. For more details on these variables, see the Appendix. 


## Results
```{r turnout_models, include=TRUE, cache=TRUE, results="asis"}

df_turnout <- import("datasets/data_turnout.Rdata")

mto1 <- lm(turnout_10 ~ expenditure + factor(region), 
           data = df_turnout)

mto2 <- lm(turnout_10 ~ expenditure + notturnout_05 + factor(region), 
           data = df_turnout)

mto3 <- lm(turnout_10 ~ expenditure + notturnout_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   factor(region), 
                   data = df_turnout)

# stargazer ---------------------------------------------------------------

stargazer(mto1, mto2, mto3,  type = "latex",
          title = "(OLS) Regression models of turnout---Summary results",
          keep = c("expenditure", "Constant"),
          covariate.labels = c("Communication", "Constant"),
          add.lines=list(c("Controls", "No", "No", "Yes"),
                         c("Lagged DV", "No", "Yes", "Yes"),
                         c("Region FEs","Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "turnout_results",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{10cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. Units are constituencies. The dependent variable is the percentage turnout in the 2010 UK general election. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. For a more detailed version of the table, see the Appendix. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

\autoref{turnout_results} presents the regression models of turnout. Here *Communication* is a constituency-level measure, indicating the total amount of allowance spent in each constituency.[^total_expenditure] In all models, the point estimates for *Communication* are small, and the 95% confidence intervals around these estimates include zero. These suggests that, if there is a relationship between parliamentary communication and electoral turnout, it is---substantively and statistically---an insignificant relationship. According to Model 3, the best estimate is that the average constituency, upon receiving `r round(mean(df_turnout$expenditure), 1)` thousand pounds worth of communication, saw about a (`r round(mean(df_turnout$expenditure), 1)` x `r round(summary(mto3)$coefficients[2,1], 3)`) `r round(mean(df_turnout$expenditure) * summary(mto3)$coefficients[2,1], 2)` percentage point increase in turnout. If MPs are to spend all of their allowance of around £10,000 per year, consistently for, say, five years between elections, this increase would not be more than half a percentage point---a change that is likely to go unnoticed after rounding. 

[^total_expenditure]: Notice that, this measure can cover total expenditure by one or more MPs, from one or more parties. Despite the single-member districts of the UK, parties could have had more than one MP spending allowance in a given 2010 constituency due to boundary changes as well as by-elections since the previous general election.

```{r vshare_models, include=TRUE, cache=TRUE, results="asis"}

df_party <- import("datasets/data_party.Rdata")

mvs1 <- lm(vshare_10 ~ expenditure + factor(party), 
           data = df_party)

mvs2 <- lm(vshare_10 ~ expenditure + notvshare_05 + factor(party), 
           data = df_party)

mvs3 <- lm(vshare_10 ~ expenditure + notvshare_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   factor(party), 
                   data = df_party)

# stargazer ---------------------------------------------------------------
stargazer(mvs1, mvs2, mvs3, type = "latex",
          title = "(OLS) Regression models of vote share---Summary results",
          keep = c("expenditure", "Constant"),
          covariate.labels = c("Communication", "Constant"),
          add.lines=list(c("Controls", "No", "No", "Yes"),
                         c("Lagged DV", "No", "Yes", "Yes"),
                         c("Region FEs","Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE,
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "vshare_results",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{10cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. Units are parties by constituencies. The dependent variable is the party vote share in the 2010 UK general election. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. For a more detailed version of the table, see the Appendix. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

The results from vote shares, as \autoref{vshare_results} shows, are similar. Here *Communication* is a party-by-constituency-level measure, indicating the total amount of allowance spent by one or more MPs from each party in each constituency.[^incumbency] While *Communication* is associated with a significant increase in vote share in the basic model, this decreases dramatically with the lagged dependent variable, and disappears completely with the controls in the final model. In Model 3, the estimates do not only include zero, they also centre almost exactly on it. Accordingly, where MPs spend £10,000 for parliamentary communication, their party could see a change ranging between a `r abs(round( 10 * confint(mvs3, level = 0.95)[2, 1], 2))` percentage point decrease to a `r round( 10 * confint(mvs3, level = 0.95)[2, 2], 2)` percentage point increase in their vote share.

[^incumbency]: Therefore, the scope of this analysis is limited to those constituencies where parties had one or more incumbent MPs.

```{r marginal_plots, include=TRUE, cache=TRUE, dpi=1000, fig.cap="Average marginal effects of parliamentary communication. \\textit{Note}: Vertical lines represent 95% confidence intervals. Estimates are based on the interaction models in \\autoref{interaction_exp_inc} in the Appendix.  \\label{marginal_effects}"}

# interaction models ------------------------------------------------------
mto4 <- lm(turnout_10 ~ expenditure + notturnout_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   expenditure:incumbent_mp + factor(region), 
           data = df_turnout)

mvs4 <- lm(vshare_10 ~ expenditure + notvshare_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   expenditure:incumbent_mp + factor(party), 
                   data = df_party)

# average marginal effects ------------------------------------------------
mto4.marg <- summary(margins(mto4, variables = "expenditure", at = list(incumbent_mp = 0:1))) %>%
        select(factor, incumbent_mp, AME, upper, lower) %>%
        mutate(model = "Turnout")

mvs4.marg <- summary(margins(mvs4, variables = "expenditure", at = list(incumbent_mp = 0:1))) %>%
        select(factor, incumbent_mp, AME, upper, lower) %>%
        mutate(model = "Vote Share")

df_marg <- rbind(mto4.marg, mvs4.marg)


# plot --------------------------------------------------------------------
ggplot(df_marg, aes(x = factor(incumbent_mp), y = AME, colour = factor(incumbent_mp))) +
        geom_pointrange(aes(ymin = lower , ymax = upper), size = 1) +
        geom_hline(yintercept = 0, linetype="dashed") +
        facet_wrap(~ model) +
        theme_bw() +
        theme(axis.title.x = element_blank(),
              axis.text.x = element_blank(),
              axis.ticks.x = element_blank(),
              axis.title.y = element_text(size = 14),
              axis.text.y = element_text(size = 14),
              legend.position = "bottom",
              legend.title = element_text(size = 14),
              legend.text = element_text(size = 14),
              strip.text.x = element_text(size = 14)) +
        labs(x = "", y = "Average marginal effect") +
        scale_x_discrete(limits=c("0", "1"),
                        breaks=c("0", "1"),
                        labels = c("Retiring", "Running")) +
        scale_colour_viridis(name = "Incumbent MPs ... ",
                             limits = c("0", "1"),
                             breaks = c("0", "1"),
                             labels = c("retiring", "running for re-election"), 
                             direction = -1, discrete = TRUE)

```

If parliamentary communication leads to a 'personal vote' [see @cain1987] for  communicators alone, pooling the electoral races with and without an incumbent candidate could be misleading. To explore the null results further, \autoref{marginal_effects} therefore visualises the average marginal effects of *Communication* on turnout and vote share, for incumbent MPs standing down *versus* running for re-election at the end of their term. It shows that incumbency does not change the results. In all cases, the average marginal effect of a unit increase in *Communication* is indistinguishable from zero: the average communication effort can have a small, positive or negative, effect on the results but they can as well have no effect at all---and the incumbents' presence among the candidates seeking re-election does not change this fact. 

An additional robustness check, presented in Appendix \autoref{bescip_results}, suggests that these results are not sensitive to the level of analysis or choice of outcomes measures. Individual level analyses of a survey by the British Election Study [@bescip2014]---conducted at the end of the allowance period in 2010---return similar results, compatible with the null hypothesis. For example, the results suggest that parliamentary communication has no meaningful effect on the public perception of MPs, parliaments, elections, politics, or democracy. In other words, the results from *constituency* level analysis of turnout and vote share presented here replicate in *constituent* level analysis of five additional outcome measures.

## Conclusion
In this article I looked for the anticipated effects of publicly funding parliamentary communication from MPs to their constituents. The UK House of Commons experimented with this idea between 2007 and 2010, at a cost of at least £`r round((sum(df_constituency$expenditure) / 1000000), 1)`m to the taxpayer. However, the results suggest that the money spent on parliamentary communication did not have a meaningful effect on electoral participation or incumbent vote share. This is good as well as bad news for actors looking to engage the public with politics through parliamentary communication. 

On the one hand, it is bad news as communication allowances seem ineffective in terms of desirable indicators, such as increases in electoral turnout. If this is the case, it would be harder for policy-makers to justify the money and effort that goes into parliamentary communication. 

On the other hand, the results are good news as communication allowances do not seem to give incumbents an unfair advantage through public funds. Hence parliaments can push back on the claim that communication allowances distort the will of the people. This might, however, lead to another problem: parliaments might find it harder to encourage MPs to spend their time and effort, if not their own money, for parliamentary communication if there is no electoral incentives for them to do so.


## References
<div id="refs"></div>

\newpage
\setcounter{page}{1}
\renewcommand*{\thepage}{A\arabic{page}}
\setcounter{table}{0}
\renewcommand*{\thetable}{A\arabic{table}}
\setcounter{figure}{0}
\renewcommand*{\thefigure}{A\arabic{figure}}
\setcounter{footnote}{0}
\renewcommand{\thefootnote}{\roman{footnote}}

# Appendix

## Codebook of variables
This section provides detailed descriptions of the variables used in this study, with summary statistics presented in \autoref{descriptive_results}. Notice that *Communication*, *Incumbency*, and *Campaign* have two versions as these variables are coded (1) for constituencies for the models of turnout and (2) for parties in each constituency for the models of vote share.


```{r descriptive_statistics, include=TRUE, cache=TRUE, results="asis"}

df_to <- df_turnout %>%
        select(turnout_10, expenditure, notturnout_05, b_change,
                   short_campaign, incumbent_mp, notmajority_05) %>%
        rename("Turnout" = "turnout_10", "Communication (Constituency)"= "expenditure", 
               "Past Turnout" = "notturnout_05", "Boundary" = "b_change",
               "Campaign (Constituency)" = "short_campaign", 
               "Incumbency (Constituency)" = "incumbent_mp",  
               "Majority" = "notmajority_05")

df_vs <- df_party %>%
        select(vshare_10, expenditure, notvshare_05, incumbent_mp, short_campaign) %>%
        rename("Vote Share" = "vshare_10", "Communication (Party)"= "expenditure",
               "Past Share" = "notvshare_05", "Campaign (Party)" = "short_campaign",
               "Incumbency (Party)" = "incumbent_mp")

df_desc <- merge(df_to, df_vs, by="row.names", all.y=TRUE) %>%
        select("Turnout", "Vote Share", "Communication (Constituency)", "Communication (Party)",
               "Past Turnout", "Past Share", "Boundary", "Campaign (Constituency)", 
               "Campaign (Party)", "Incumbency (Constituency)", "Incumbency (Party)", "Majority") 

stargazer(df_desc, type = "latex", 
          summary = TRUE, rownames = FALSE, header = FALSE, label = "descriptive_results",
          summary.stat = c("n", "mean", "sd", "min", "max"), digits = 2,
          title = "Descriptive statistics",
          notes.append = FALSE, notes.align = "l",
          notes = "\\parbox[t]{13.1cm}{\\textit{Note}: \\textit{Constituency} indicates the versions of variables used in the models of turnout while \\textit{Party} indicates the versions used in the models of vote share.}")

```


### Dependent variables
The two dependent variables are from the 2010 UK general election, as announced by the Electoral Commission.

*Turnout*. The percentage of eligible voters who cast a ballot in each constituency.

*Vote Share*. The percentage of valid votes cast for parties, in constituencies where these parties had at least one MP before the 2010 election. Despite the single-member districts of the UK, parties could have had more than one MP spending allowance in a given 2010 constituency due to boundary changes as well as by-elections since the 2005 general election. 

### Independent variable

*Communication*. The amount, in 1,000 pounds sterling, that MPs claimed from the Communications Allowance. This is aggregated (1) at the constituency level for the models of turnout and (2) at the party level for the models of vote share. This data is publicly available, albeit scatteredly, on the House of Commons website ([www.parliament.uk](https://www.parliament.uk/)).

### Lagged dependent variables

*Past Turnout*. The percentage of eligible voters who cast a ballot in each constituency in the 2005 UK general election. 

*Past Share*. The percentage of valid votes cast for parties, in constituencies where they had at least one MP following the 2005 election.

### Control variables

*Boundary*. A continuous variable, measuring how different the 2010 constituencies were from their original 2005 constituencies, as calculated by @rallings2007.

*Campaign*. The percentage of the electoral campaign limit spent between the dissolution of the parliament (12 April 2010) and the election day (6 May 2010), known as the 'short campaign'. This variable, originally from the Electoral Commission, is aggregated (1) at the constituency level for the models of turnout and (2) at the party-by-constituency level for the models of vote share.

*Incumbency*. A binary variable indicating whether there was an incumbent MP running for re-election (coded as 1) or not (coded as 0). This variable is coded (1) for constituencies (whether there was an incumbent MP from any party in a given constituency) for the models of turnout and for parties (whether parties had an incumbent MP in a given constituency) for the models of vote share.

*Majority*. The percentage difference between the votes for the winning and the runner-up parties in each constituency in the general election of 2005.

In constituencies with boundary changes, *Majority* as well as the lagged dependent variables are based on the notional results estimated by @rallings2007. Otherwise, they are based on the actual results released by the Electoral Commission  ([www.electoralcommission.org.uk](https://www.electoralcommission.org.uk/)) 

\newpage
## Detailed Tables
This section provides the complete results (except for the fixed-effects), respectively for the models of turnout (\autoref{turnout_results}) and vote share (\autoref{vshare_results}) summarised in the main text.

The regions in \autoref{turnout_results} are East Midlands (the base category), East of England, London, North East, North West, Northern Ireland, Scotland, South East, South West, Wales, West Midlands, and Yorkshire & the Humber.

The parties in \autoref{vshare_results} are Conservative (the base category), DUP, Labour, Lib Dems, KHHC, SF, SDLP, SNP, PC, Respect, UKIP, and UUP.  

```{r complete_tables, include=TRUE, cache=TRUE, results="asis"}

stargazer(mto1, mto2, mto3, type = "latex",
          title = "Detailed results for \\autoref{turnout_results} (turnout)",
          keep = c("expenditure", "notturnout_05", "b_change", "short_campaign","incumbent_mp", "notmajority_05", "Constant"),
          covariate.labels = c("Communication", "Past Turnout", "Boundary", "Campaign", "Incumbency", "Majority", "Constant"),
          add.lines=list(c("Region FEs","Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "turnout_complete", no.space = TRUE,
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{10cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. Units are constituencies. The dependent variable is the percentage turnout in the 2010 UK general election. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. For a more detailed version of the table, see the Appendix. * p < 0.05, ** p < 0.01, *** p < 0.001.}")


stargazer(mvs1, mvs2, mvs3, type = "latex",
          title = "Detailed results for \\autoref{vshare_results} (vote share)",
          keep = c("expenditure", "notvshare_05", "b_change", "short_campaign","incumbent_mp", "notmajority_05", "Constant"),
          covariate.labels = c("Communication", "Past Share", "Boundary", "Campaign", "Incumbency", "Majority", "Constant"),
          add.lines=list(c("Party FEs","Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "vshare_complete", no.space = TRUE,
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{10cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. Units are parties by constituencies. The dependent variable is the party vote share in the 2010 UK general election. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

\newpage
## Robustness Checks
This section provides five robustness checks: Could the null results arise due to (a) constituency boundary changes (b) pooling of all races with and without incumbents among the candidates, (c) multicollinearity, (d) analysing aggregate level of outcomes, or (e) focuing on turnout and vote share? The tests below suggest not.

### Constituencies without boundary change
As mentioned in the article, most of the UK parliamentary constituencies had a boundary change before the 2010 general election. Therefore, the official data---be it on the 2005 election results or on the expenditure of the Communications Allowance between 2007 and 2010---is not accurate for the constituencies with a boundary change. Regression models address this issue in the main body of the article by including notional variables adjusted for the new boundaries as well as a variable (*Boundary*) measuring the extent of change in each constituency. This avoids a considerable limitation on the number of observations in the analysis.

As a robustness check for the null results, this subsection provides re-estimates of the regression models with data from only the unchanged constituencies (*Boundary* $=$ 0). Despite a dramatic decrease in the number of observations, the results remain substantively the same. These are presented in \autoref{turnout_nbc} for turnout and in \autoref{vshare_nbc} for vote share.

```{r nbc_models, include=TRUE, cache=TRUE, results="asis"}

# turnout -----------------------------------------------------------------

mto5 <- lm(turnout_10 ~ expenditure + factor(region), 
           data = subset(df_turnout, b_change == 0))

mto6 <- lm(turnout_10 ~ expenditure + notturnout_05 + factor(region), 
           data = subset(df_turnout, b_change == 0))

mto7 <- lm(turnout_10 ~ expenditure + notturnout_05 + notmajority_05 + 
           incumbent_mp + short_campaign + factor(region), 
           data = subset(df_turnout, b_change == 0))

stargazer(mto5, mto6, mto7, type = "latex",
          title = "Models of turnout in unchanged constituencies",
          keep = c("expenditure", "notturnout_05", "short_campaign", "incumbent_mp", "notmajority_05", "Constant"),
          covariate.labels = c("Communication", "Past Turnout", "Campaign", "Incumbency", "Majority", "Constant"),
          add.lines=list(c("Region FEs","Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "turnout_nbc",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{9.5cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. The dependent variable is the percentage turnout in the 2010 UK general election. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

# vote share --------------------------------------------------------------

mvs5 <- lm(vshare_10 ~ expenditure + factor(party), 
           data = subset(df_party, b_change == 0))

mvs6 <- lm(vshare_10 ~ expenditure + notvshare_05 + factor(party), 
           data = subset(df_party, b_change == 0))

mvs7 <- lm(vshare_10 ~ expenditure + notvshare_05 + notmajority_05 + 
           incumbent_mp + b_change + short_campaign + factor(party), 
           data = subset(df_party, b_change == 0))


stargazer(mvs5, mvs6, mvs7, type = "latex",
          title = "Models of vote share in unchanged constituencies",
          keep = c("expenditure", "notvshare_05", "short_campaign", "incumbent_mp", "notmajority_05", "Constant"),
          covariate.labels = c("Communication", "Past Share", "Campaign", "Incumbency", "Majority", "Constant"),
          add.lines=list(c("Party FEs", "Yes", "Yes", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE,
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "vshare_nbc",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{9.5cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. The dependent variable is the incumbent party vote share in the 2010 UK general election. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

\newpage
### Interaction models
A plausible expectation is that the relationship between parliamentary communication and electoral results depends on incumbency. Specifically, it could be that communication mobilises constituents only if their incumbent MP, whom they have been presumably hearing from, is among the candidates in the following election. To adjust the estimates for this factor, the final models of turnout and vote share include a variable, *Incumbency*.

\autoref{interaction_exp_inc} further investigates this possibility with interaction terms between *Communication* and *Incumbency*. As discussed in the text and visualised in \autoref{marginal_effects}, these interaction terms are substantively and statistically insignificant, confirming that the null results are robust to the incumbency factor.

```{r, interaction_exp_inc, include=TRUE, cache=TRUE, results="asis"}

stargazer(mto4, mvs4,  type = "latex",
          title = "Interaction models for \\autoref{marginal_effects}",
          keep = c("^expenditure$", "^notturnout_05$", "^notvshare_05$", "^b_change$", "^short_campaign$","^incumbent_mp$", "^notmajority_05$", "^expenditure:incumbent_mp$", "Constant"),
          covariate.labels = c("Communication", "Past Turnout", "Past Share", "Boundary", "Campaign", "Incumbency", "Majority", "Communication X Incumbency", "Constant"),
          column.labels = c("Turnout", "Vote Share"),
          add.lines=list(c("Region FEs", "Yes", "No"),
                         c("Party FEs", "No", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "interaction_exp_inc",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{8cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

A related concern is that, perhaps, the effect of parliamentary communication is heterogeneous across partisan groups. For example, if receiving communication from a Labour MP mobilises Labour and Conservative voters in different directions, these effects might cancel each other out, thereby leading to the null results at the aggregate level. One observable implication of this hypothesis is that, if there is such an heterogeneity, the relationship between parliamentary communication and electoral results would depend on majority; cancelling out is more likely to occur in marginal constituencies, where voters are split more evenly among parties, than in safe constituencies. \autoref{interaction_exp_maj} tests this hypothesis with interaction terms between \textit{Communication} and \textit{Majority}. Again, these interaction terms are substantively and statistically insignificant. In other words, there is no evidence that the null results are masking heterogeneous effects by partisan groups.

```{r, interaction_exp_maj, include=TRUE, cache=TRUE, results="asis"}

mto8 <- lm(turnout_10 ~ expenditure + notturnout_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   expenditure:notmajority_05 + factor(region), 
           data = df_turnout)

mvs8 <- lm(vshare_10 ~ expenditure + notvshare_05 + b_change +
                   short_campaign + incumbent_mp + notmajority_05 + 
                   expenditure:notmajority_05 + factor(party), 
                   data = df_party)

stargazer(mto8, mvs8,  type = "latex",
          title = "Models with interactions between \\textit{Communication} and \\textit{Majority}",
          keep = c("^expenditure$", "^notturnout_05$", "^notvshare_05$", "^b_change$", "^short_campaign$","^incumbent_mp$", "^notmajority_05$", "^expenditure:notmajority_05$", "Constant"),
          covariate.labels = c("Communication", "Past Turnout", "Past Share", "Boundary", "Campaign", "Incumbency", "Majority", "Communication X Majority", "Constant"),
          column.labels = c("Turnout", "Vote Share"),
          add.lines=list(c("Region FEs", "Yes", "No"),
                         c("Party FEs", "No", "Yes")), 
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE, 
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "interaction_exp_maj",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{8cm}{Models are calculated with ordinary least squares regressions. The lower and upper limits of 95\\% confidence intervals are in parentheses. \\textit{Communication} is the amount of money, in £1,000s, claimed from the Communications Allowance. * p < 0.05, ** p < 0.01, *** p < 0.001.}")

```

\newpage
### Generalised variation inflation factors
One concern is that there might be dangerously high levels of correlations between two or more independent variables, not least because the regression models include lagged dependent variables. Looking for such correlations, I calculated generalised variation inflation factors, based on the complete models of turnout (Model 2 in \autoref{turnout_results}) and vote share (Model 2 in \autoref{vshare_results}). With this test, a factor score of 1.0 refers to no multicollinearity while values higher than 10.0 are considered problematic [@hair2014]. The results are presented in \autoref{gvif}, showing reassuringly low factor scores---ranging between 1.06 and 2.26. In other words, there are no signs of high linear correlations among the independent variables.  

```{r multicollinearity, include=TRUE, cache=TRUE, results="asis"}

vif_to <- as.data.frame(vif(mto3)) %>%
        rownames_to_column("variable") %>%
        select(variable, Df, GVIF) %>% rename("df" = "Df", "gvif_to" = "GVIF")

vif_vs <- as.data.frame(vif(mvs3)) %>%
        rownames_to_column("variable") %>%
        select(variable, Df, GVIF) %>% rename("df" = "Df", "gvif_vs" = "GVIF")

df_vif <- full_join(vif_to, vif_vs, by = "variable") %>%
        mutate(df = case_when(!is.na(df.x) ~ df.x, TRUE ~ df.y),
               variable = dplyr::recode(variable, "expenditure" = "Communication", "notturnout_05" = "Past Turnout",
                                        "b_change" = "Boundary","short_campaign" = "Campaign", "incumbent_mp" = "Incumbency", 
                                        "notmajority_05" = "Majority", "factor(region)" = "Region FEs", "notvshare_05" = "Past Vote", 
                                        "factor(party)" = "Party FEs")) %>%
        select(variable, df, gvif_to, gvif_vs) %>%
        rename("Variables" = "variable", "Turnout" = "gvif_to", "Vote Share" = "gvif_vs")

stargazer(df_vif, type = "latex", 
          summary = FALSE, rownames = FALSE, header = FALSE, label = "gvif", digits = 2,
          title = "Generalised variation inflation factors")

```

\newpage
### Individual-level analysis of various outcomes
Are the null results sensitive to the level of analysis or the choice of outcomes in the article? First, aggregate (constituency) level analyses may, under unfavourable conditions, fail to detect effects that parliamentary communication allowances might have on individuals (constituents). Second, it might as well be that parliamentary communication has an effect on some outcomes, but not necessarily on turnout or vote share. However, individual-level analyses of five additional outcomes, as \autoref{bescip_results} presents, do not support these suspicions.

Drawing on the *British Election Study, 2010: Campaign Internet Data*, specifically on its pre-campaign wave, [^bescip] here I analyse whether respondents differed from each other in line with the amount of allowance spent in their constituency. The results provide further evidence for the claim that the allowance had no meaningful effect. For example, MPs with higher communication expenditures were not seen as working harder than MPs with low expenditure by their constituents (Models 1). Similarly, respondents from constituencies with higher communication expenditures did not have a higher level of trust in parliament (Model 2)---nor did they have higher levels of electoral interest (Models 3), political attention (Models 4), or satisfaction with democracy (Models 5). In all these models based on individual level survey data, the point estimates for *Communication* are small while the 95% confidence intervals around these estimates include zero. 

These results are not sensitive to the modelling choices (ordinary least squares regression models with control variables, where standard errors are clustered at the constituency level) in \autoref{bescip_results}---the conclusions remain the same with (ordinal) logistic regressions, without control variables, or without clustering of the standard errors.

[^bescip]: The dataset is publicly available at <http://doi.org/10.5255/UKDA-SN-7530-1>. It includes respondents from 632 constituencies in Great Britain, using the new boundaries. Hence the analysis here excludes the 18 constituencies in Northern Ireland.

\begin{landscape}
```{r bescip, include=TRUE, cache=TRUE, results="asis"}

df_bescip <- import("datasets/data_cipsdec2311.Rdata") %>%
        select(refno, elec_int = aaq2, trust_parl = aaq57, works_hard = aaq80, 
               sat_dem = aaq128, pol_atten = aaq131, yob = aaq151, 
               edu = aaq157, income = aaq166, female = aaq186) %>% 
        mutate(elec_int = dplyr::recode(elec_int, `4` = 1, `3` = 2, `2` = 3, `1` = 4),
               works_hard = dplyr::recode(works_hard, `5` = 1, `4` = 2, `3` = 3, `2` = 4, `1` = 5),
               age = 2010 - (1899 + yob),
               education = case_when(edu < 6 ~ edu,
                                     edu %in% c(6, 7) & age == 18 ~ 4,
                                     edu %in% c(6, 7) & age > 18 ~ 5),
               female = dplyr::recode(female, `1` = 0, `2` = 1)) %>%
        left_join(., df_turnout, by = c("refno" = "pano"))

mbcp1 <- felm(works_hard ~ expenditure + age + female + education + income | 0 | 0 | refno, 
              data = df_bescip)

mbcp2 <- felm(trust_parl ~ expenditure + age + female + education + income | 0 | 0 | refno, 
              data = df_bescip)

mbcp3 <- felm(elec_int ~ expenditure + age + female + education + income | 0 | 0 | refno, 
              data = df_bescip)

mbcp4 <- felm(pol_atten ~ expenditure  + age + female + education + income | 0 | 0 | refno, 
              data = df_bescip)

mbcp5 <- felm(sat_dem ~ expenditure + age + female + education + income | 0 | 0 | refno, 
              data = df_bescip)

stargazer(mbcp1, mbcp2, mbcp3, mbcp4, mbcp5, type = "latex",
          title = "Models of individual-level analyses",
          covariate.labels = c("Communication", "Age", "Female", "Education", "Income", "Constant"),
          column.labels = c("MP Works", " Trust Parliament", "Election Interest", "Political Attention", "Satisfaction Democracy"),
          omit.stat = c("adj.rsq", "ser", "f"), 
          ci = TRUE,
          star.cutoffs = c(0.05, 0.01, 0.001),
          dep.var.caption = "", dep.var.labels.include = FALSE,
          header = FALSE, label = "bescip_results",
          notes.append = FALSE, notes.align = "l", digits = 3,
          notes = "\\parbox[t]{19cm}{Models are calculated with ordinary least squares regressions, with data from individuals in the British Election Study, Campaign Internet Data (2010). The lower and upper limits of 95\\% confidence intervals are in parentheses. Standard errors are clustered at the level of constituency. * p < 0.05, ** p < 0.01, *** p < 0.001. Variables are based on the following survey items: aaq80 (MP Works), aaq57 (Trust Parliament), aaq2 (Election Interest), aaq131 (Political Attention), aaq128 (Satisfaction Democracy), aaq151 (Age), aaq186 (Female), aaq157 (Education), and aaq166 (Income).}")
```
\end{landscape}